# 1、温度转换程序代码
# 从用户那里获取输入的温度值，比如 "32C" 或 "89.6F"
TempStr = input("请输入带有符号的温度值:")

# 检查输入字符串的最后一个字符（[-1]表示最后一个字符）
# （自己的理解：-1在无符号数中算最大的，因此在下标里算最大的，即最后一个字符的下标）

# 判断是否是华氏温度（F或f）
if TempStr[-1] in ['F', 'f']:
    # 如果是华氏温度，转换为摄氏温度

    # TempStr[0:-1] 表示从第一个字符到倒数第二个字符（去掉最后一个字符F/f）
    # 自己理解：左闭右开

    # eval() 函数将字符串转换为数字，比如将"89.6"转换为数字89.6
    # 华氏转摄氏的公式：C = (F - 32) / 1.8
    C = (eval(TempStr[0:-1]) - 32) / 1.8

    # 输出转换结果，{:.2f}表示保留2位小数
    print("转换后的温度是{:.2f}C\n".format(C))

# 如果不是华氏温度，检查是否是摄氏温度（C或c）
elif TempStr[-1] in ['C', 'c']:
    # 如果是摄氏温度，转换为华氏温度
    # 摄氏转华氏的公式：F = C × 1.8 + 32
    F = 1.8 * eval(TempStr[0:-1]) + 32

    # 输出转换结果
    print("转换后的温度是{:.2f}F\n".format(F))

# 如果既不是华氏也不是摄氏温度
else:
    # 提示用户输入格式错误
    print("输入格式错误\n")




# 2、标识改变放在温度数值之前：C82, F28
TempStr = input("请输入带符号的温度值：") # ;不要打分号

# 单引号改为双引号可以吗？
# 可以，单引号和双引号在Python中是完全等价的。
if TempStr[-1] in {"F", 'f'}: # 注意冒号(判断关键字后有）
    C = (eval(TempStr[0:-1]) - 32) / 1.8

    print("转换后的温度是C{:.2f}\n".format(C))

elif TempStr[-1] in ['C', 'c']:
    F = 1.8 * eval(TempStr[0:-1]) + 32

    print("转换后的温度是F{:.2f}\n".format(F))

else:
    print("输入格式错误\n")


# 3、标识字符改变为多个字符：82Ce、28Fa
TempStr = input("请输入带符号的温度值：")

if TempStr[-1] in {"F", 'f'}:
    C = (eval(TempStr[0:-1]) - 32) / 1.8

    print("转换后的温度是{:.2f}Ce\n".format(C))

elif TempStr[-1] in ['C', 'c']:
    F = 1.8 * eval(TempStr[0:-1]) + 32

    print("转换后的温度是{:.2f}Fa\n".format(F))

else:
    print("输入格式错误\n")